var store_departamento;
var form;


Ext.onReady(function()
{
    store_departamento = new X.store.Json({
        fields : [
            'codigoDepartamento',
            'nombreDepartamento'
        ]
    });

    form = new X.form.FormPanel({
        title            : 'Crear Departamento',
        submitButtonText : 'Crear',
        returnButtonText : 'Cancelar',
        submitUrl        : '/departamento/ajax-crear',
        returnUrl        : '/departamento/listar',
        width            : 460,
        labelWidth       : 70,

        items:[
            new X.field.Text  ({fieldLabel:'Nombre',     id:'nombreDepartamento', width:330}),
            new X.field.Combo ({
		    id		 : 'padre',
                    hiddenName   : 'codigoDepartamento',
                    fieldLabel   : 'Pertenece a',
                    valueField   : 'codigoDepartamento',
                    displayField : 'nombreDepartamento',
                    width        : 330,
                    store        : store_departamento
                }),
            new X.field.Number({fieldLabel:'Caja chica', id:'cajaChica',          width:330}),
            new X.field.Email ({fieldLabel:'Email',      id:'email',              width:330, allowBlank:true}),
            new X.field.Text  ({fieldLabel:'Teléfono',   id:'telefono',           width:330, allowBlank:true}),
            new X.field.Text  ({fieldLabel:'Director',   id:'director',           width:330})
        ]
    });

    Ext.getCmp('nombreDepartamento').focus();

    form.getForm().addListener('beforeaction', function(form, action){
        if (Ext.isEmpty(Ext.getCmp('nombreDepartamento').getValue())){
            X.msg.Failure('Complete el campo "Nombre"'); return false;
        }
        if (Ext.isEmpty(Ext.getCmp('cajaChica').getValue())){
            X.msg.Failure('Complete el campo "Caja chica"'); return false;
        }
        if (!Ext.getCmp('padre').disabled && Ext.isEmpty(Ext.getCmp('padre').getValue())){
            X.msg.Failure('Seleccione el departamento de pertenencia'); return false;
        }
        if (Ext.getCmp('email').isValid()==false){
            X.msg.Failure('Campo incorrecto "Email"'); return false;
        }
        if (Ext.isEmpty(Ext.getCmp('director').getValue())){
            X.msg.Failure('Complete el campo "Director"'); return false;
        }
        return true;
    });
});
